package condominios.servlets;

import java.io.IOException;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import condominios.modelo.Cuota;

/**
 * Servlet implementation class ConsultarMorososServlet
 */
@WebServlet("/ConsultarMorososServlet")
public class ConsultarMorososServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
    
	ArrayList<Cuota> cuotas = new ArrayList<Cuota>();
	DecimalFormatSymbols simbolos = new DecimalFormatSymbols();
	
    /**
     * @see HttpServlet#HttpServlet()
     */
    public ConsultarMorososServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		simbolos.setDecimalSeparator('.');
		
		if (cuotas.size() < 1) {
			
			java.text.DateFormat df = new SimpleDateFormat("MM/dd/yyyy"); 
		
			Cuota c8 = new Cuota();
			c8.setIdCuota(801);
			c8.setIdVivienda(10001);
			c8.setDescripEdificio("Los Magnificos");
			c8.setNumeroVivienda("1109");
			c8.setPeriodoMes(10);
			c8.setPeriodoAnio(2014);
			c8.setNumCuota(23);
			c8.setImporte((float)230.50);
			try {
				c8.setFechaVencimiento(df.parse("10/30/2014"));
			} catch (ParseException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			c8.setCodTipoPago("EF");
			c8.setEstado((byte)1);
			
			Cuota c7 = new Cuota();
			c7.setIdCuota(901);
			c7.setIdVivienda(10001);
			c7.setDescripEdificio("Los Magnificos");
			c7.setNumeroVivienda("1109");
			c7.setPeriodoMes(11);
			c7.setPeriodoAnio(2014);
			c7.setNumCuota(53);
			c7.setImporte((float)230.50);
			try {
				c7.setFechaVencimiento(df.parse("11/29/2014"));
			} catch (ParseException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			c7.setCodTipoPago("EF");
			c7.setEstado((byte)1);
			
			Cuota c1 = new Cuota();
			c1.setIdCuota(1001);
			c1.setIdVivienda(10001);
			c1.setDescripEdificio("Los Magnificos");
			c1.setNumeroVivienda("1109");
			c1.setPeriodoMes(12);
			c1.setPeriodoAnio(2014);
			c1.setNumCuota(123);
			c1.setImporte((float)230.50);
			try {
				c1.setFechaVencimiento(df.parse("12/31/2014"));
			} catch (ParseException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			c1.setCodTipoPago("EF");
			c1.setEstado((byte)1);
			
			Cuota c2 = new Cuota();
			c2.setIdCuota(1052);
			c2.setIdVivienda(10001);
			c2.setDescripEdificio("Los Magnificos");
			c2.setNumeroVivienda("1109");
			c2.setPeriodoMes(01);
			c2.setPeriodoAnio(2015);
			c2.setNumCuota(163);
			c2.setImporte((float)230.50);
			try {
				c2.setFechaVencimiento(df.parse("01/31/2015"));
			} catch (ParseException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			c2.setCodTipoPago("EF");
			c2.setEstado((byte)1);
			
			Cuota c3 = new Cuota();
			c3.setIdCuota(1102);
			c3.setIdVivienda(10001);
			c3.setDescripEdificio("Los Magnificos");
			c3.setNumeroVivienda("1109");
			c3.setPeriodoMes(02);
			c3.setPeriodoAnio(2015);
			c3.setNumCuota(213);
			c3.setImporte((float)230.50);
			try {
				c3.setFechaVencimiento(df.parse("02/28/2015"));
			} catch (ParseException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			c3.setCodTipoPago("EF");
			c3.setEstado((byte)1);
			
			Cuota c4 = new Cuota();
			c4.setIdCuota(1104);
			c4.setIdVivienda(10021);
			c4.setDescripEdificio("Los Picapiedras");
			c4.setNumeroVivienda("1309");
			c4.setPeriodoMes(02);
			c4.setPeriodoAnio(2015);
			c4.setNumCuota(233);
			c4.setImporte((float)230.50);
			try {
				c4.setFechaVencimiento(df.parse("02/28/2015"));
			} catch (ParseException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			c4.setCodTipoPago("EF");
			c4.setEstado((byte)1);
			
			Cuota c5 = new Cuota();
			c5.setIdCuota(1054);
			c5.setIdVivienda(10021);
			c5.setDescripEdificio("La Fuerza Vencedora");
			c5.setNumeroVivienda("1209");
			c5.setPeriodoMes(01);
			c5.setPeriodoAnio(2015);
			c5.setNumCuota(163);
			c5.setImporte((float)230.50);
			try {
				c5.setFechaVencimiento(df.parse("01/31/2015"));
			} catch (ParseException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			c5.setCodTipoPago("EF");
			c5.setEstado((byte)1);
			
			Cuota c6 = new Cuota();
			c6.setIdCuota(1104);
			c6.setIdVivienda(10021);
			c6.setDescripEdificio("La Fuerza Vencedora");
			c6.setNumeroVivienda("1509");
			c6.setPeriodoMes(02);
			c6.setPeriodoAnio(2015);
			c6.setNumCuota(273);
			c6.setImporte((float)230.50);
			try {
				c6.setFechaVencimiento(df.parse("02/28/2015"));
			} catch (ParseException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			c6.setCodTipoPago("EF");
			c6.setEstado((byte)1);
			
			
			
			cuotas.add(c8);
			cuotas.add(c7);
			cuotas.add(c1);
			cuotas.add(c2);
			cuotas.add(c3);
			cuotas.add(c4);
			cuotas.add(c5);
			cuotas.add(c6);
			
		}
		
		if (request.getParameter("todos")!=null) {
			request.setAttribute("TODAS_CUOTAS", cuotas);
			RequestDispatcher rd1 = request.getRequestDispatcher("consultar-morosos.jsp");
    		rd1.forward(request, response);
			
		}
		
		if (request.getParameter("ultimoMes")!=null) {
			
			ArrayList<Cuota> resCuotas1 = new ArrayList<Cuota>();
			Date fechaActual1 = new Date();
			for(Cuota z1 : cuotas) {
        		
				long diferencia1 = fechaActual1.getTime()- z1.getFechaVencimiento().getTime();
				long dias1 = diferencia1/(1000*60*60*24);
        		if (dias1 <= 30) {
            		
                   resCuotas1.add(z1);
        			//el codigo de lo que quieres hacer con el boton
        		}
        	
        	}	
			request.setAttribute("TODAS_CUOTAS", resCuotas1);
			RequestDispatcher rd1 = request.getRequestDispatcher("consultar-morosos.jsp");
    		rd1.forward(request, response);
			
		}
		
		if (request.getParameter("ultimosTresMeses")!=null) {
			
			ArrayList<Cuota> resCuotas2 = new ArrayList<Cuota>();
			Date fechaActual2 = new Date();
			for(Cuota z2 : cuotas) {
        		
				long diferencia2 = fechaActual2.getTime()- z2.getFechaVencimiento().getTime();
				long dias = diferencia2/(1000*60*60*24);
        		if (dias <= 90) {
            		
                   resCuotas2.add(z2);
        			//el codigo de lo que quieres hacer con el boton
        		}
        	
        	}	
			request.setAttribute("TODAS_CUOTAS", resCuotas2);
			RequestDispatcher rd1 = request.getRequestDispatcher("consultar-morosos.jsp");
    		rd1.forward(request, response);
			
		}
	}

}